' ======================================================================
' 执行所有 case
' ======================================================================
Private Sub test_All_Case()
    test_transDataFrameToMdTableTxt
End Sub

' ======================================================================
' 测试 case
' ======================================================================
Private Sub test_transDataFrameToMdTableTxt()
    Dim result As String

    Dim dfColNames As Variant
    dfColNames = Array("title-a", "title-b", "title-c")

    Dim df As DataFrame
    Set df = New DataFrame
    df.Init colNames:= dfColNames

    Dim idf As IDataFrame
    Set idf = df

    idf.appendEmptyRow 3
    idf.setDataByColIndex 0, 0, "--"
    idf.setDataByColIndex 0, 1, "--"
    idf.setDataByColIndex 0, 2, "--"
    idf.setDataByColIndex 1, 0, "a1"
    idf.setDataByColIndex 1, 1, "b1"
    idf.setDataByColIndex 1, 2, "c1"
    idf.setDataByColIndex 2, 0, "a2"
    idf.setDataByColIndex 2, 1, "b2"
    idf.setDataByColIndex 2, 2, "c2"

    ' ========================================
    ' 1. 测试: 第一行不是分割行 + 换行符为 vbCrLf
    ' ========================================
    result = UtilsDataFrame.transDataFrameToMdTableTxt(idf)

    Debug.Assert result= _
      "| title-a | title-b | title-c |" & vbCrLf & _
      "| - | - | - |" & vbCrLf & _
      "| -- | -- | -- |" & vbCrLf & _
      "| a1 | b1 | c1 |" & vbCrLf & _
      "| a2 | b2 | c2 |"

    ' ========================================
    ' 2. 测试: 第一行是分割行 + 换行符为 vbCrLf
    ' ========================================
    result = UtilsDataFrame.transDataFrameToMdTableTxt(idf, firstIsSplitRow:=True)

    Debug.Assert result= _
      "| title-a | title-b | title-c |" & vbCrLf & _
      "| -- | -- | -- |" & vbCrLf & _
      "| a1 | b1 | c1 |" & vbCrLf & _
      "| a2 | b2 | c2 |"

    ' ========================================
    ' 3. 测试: 第一行是分割行 + 换行符为 vbLf
    ' ========================================
    result = UtilsDataFrame.transDataFrameToMdTableTxt(idf, firstIsSplitRow:=True, lineBreak:=vbLf)

    Debug.Assert result= _
      "| title-a | title-b | title-c |" & vbLf & _
      "| -- | -- | -- |" & vbLf & _
      "| a1 | b1 | c1 |" & vbLf & _
      "| a2 | b2 | c2 |"
End Sub